]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
keyboard: Create extended keys before updating hover state
authorFlorian Müllner <fmuellner@gnome.org>
Wed, 4 Dec 2019 19:01:41 +0000 (20:01 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Wed, 4 Dec 2019 19:48:37 +0000 (20:48 +0100)
We want extended keys to have the same size as their parent key,
but this is currently broken and the keys end up with their
parent key's preferred size (which is smaller than its allocated
size).

This is due to the way ClutterActor's width/height properties work,
which only return the "real" (i.e. allocated) size when the allocation
is valid, and fall back to the preferred size otherwise.

As changing an StWidget's hover state involves adding or removing
the `:hover` pseudo class, this is currently always the case.
Creating the extended keys first means the keyButton's allocation
is probably valid, so do that.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1976

js/ui/keyboard.js

index 0d40c835720cd74997ea399c58c227903c503435..d5591c317d33732faeac4e23e141c7f3a4ee8ee5 100644 (file)
@@ -328,9 +328,9 @@ var Key = GObject.registerClass({
 
                     if (this._extendedKeys.length > 0) {
                         this._touchPressed = false;
+                        this._ensureExtendedKeysPopup();
                         this.keyButton.set_hover(false);
                         this.keyButton.fake_release();
-                        this._ensureExtendedKeysPopup();
                         this._showSubkeys();
                     }